<!--
 * @Description: 数组常用方法总结
 * @Author: wanggang
 * @Date: 2019-11-19 08:55:40
 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    /**
     * @description: Array.of() 返回由参数组成的数组,参数只能为基本类型数据
     */
     testFun = ()=> {
         conosle.log('我是测试的方法参数');
     }
     let test1 = Array.of(1,'2',{a:1},testFun);
     console.log('array.of方法执行结果为:'+test1);
// ---------------------------------------------------------分割线---------------------------------------
    /**
     * @description: Array.from 
     * 
     * 由此可见，要将一个类数组对象转换为一个真正的数组，必须具备以下条件：

    1、该类数组对象必须具有 length 属性，用于指定数组的长度。如果没有 length 属性，那么转换后的数组是一个空数组。

    2、该类数组对象的属性名必须为数值型或字符串型的数字
    3.转化set和map的待补充
     */

    let a = {
        0: 'name', 
        1: ['user1','user2','user3'],
        2: 4,
        3: {
            a: 'aaa',
            b: 'bbb'
        },
        'length': 4
    }
    console.log(Array.from(a));
// ---------------------------------------------------------分割线---------------------------------------
    /**
     * @description: reverse() 数组的反转 【改变原数组】
     */

     let arr = [1,2,3];
     arr.reverse();
     console.log(arr);

// ---------------------------------------------------------分割线---------------------------------------
     /**
      * @description: copyWithin(index,start,end) 数组的指定位置复制【改变原数组】
      */
    let arr1 = [1,2,3,4,5];
    arr1.copyWithin(0,2,5);
    console.log(arr1);




</script>
</html>